<?php

/**
 * Statikus metódusok a mappákba rendelt cikkek kezelgetéséhez.
 */
class FolderedArticleHandler {

	/**
	 * Lemásolja a megadott cikket új cikként. Viszi azokat a fájlokat is,
	 * amelyek a cikkben meg vannak hivatkozva. A cikket minden nyelvével
	 * együtt szállítja.
	 *
	 * @param Article $article Másolandó cikk.
	 * @param int $newType Cikk típus, amibe a beszúrás történik (lehet, mezőket el kell hagyni).
	 * @param int $folderId Ebbe a folderbe.
	 */
	public static function copyArticle($article, $newType, $folderId) {
		$newId = ArticleHandler::copyArticle($article, $newType);
		// folderhez rendelés ha kell
		if (! is_null($folderId)) {
			$data = array(
					'id_article' => $newId,
					'id_folder' => $folderId,
			);
			GeneralDBHelper::addTableRow('articlefolder_article', $data);
		}
		return $newId;
	}

	/**
	 * Átmozgatja a megadott cikket. Itt elég a db rekordot módosítani.
	 *
	 * @param Article $article Másolandó cikk.
	 * @param int $siteId melyik siteba?
	 * @param int $newType Cikk típus, amibe a beszúrás történik (lehet, mezőket el kell hagyni).
	 * @param int $folderId Ebbe a folderbe.
	 */
	public static function moveArticle($article, $newType, $folderId) {
		$result =& ArticleHandler::moveArticle($article, $newType);
		// folderhez rendelés törlése
		$filter = new DBQueryFilter();
		$filter->addComponent('id_article', DBQueryFilter::OP_EQUALS, $article->id);
		GeneralDBHelper::delTableRowsFiltered('articlefolder_article', $filter);
		// folderhez rendelés ha kell
		if (! is_null($folderId)) {
			$data = array(
					'id_article' => $article->id,
					'id_folder' => $folderId,
			);
			GeneralDBHelper::addTableRow('articlefolder_article', $data);
		}
	}


}
?>